The invention relates to video data processing, an in particular to video data caching systems and methods.
Video processing, be it video compression, video decompression, or image processing in general, makes use of large amounts of data which are typically organized in video frames (pictures). Video coding (encoding and decoding) often requires accessing data from one or more frames in a non-sequential fashion. For example, encoding or decoding neighboring blocks in a frame may require accessing predictions (reference blocks) that are not neighbors.
As resolutions and frame rates keep growing, memory bandwidth can become a primary limitation for high performance and power consumption. Future compression standards like HEVC (H.265 or MPEG-H) use a large variety of prediction modes and larger interpolation filters for motion predictions. Such processing demands can exacerbate the memory bandwidth problem.
Caching can reduce the memory bandwidth used by video coding applications. Caching involves storing data locally, in a cache. If requested data is present in a cache, the data is served directly from the cache, rather than from memory. While caching can significantly speed up access to data, conventional caching systems may display suboptimal performance in handling the increasingly-challenging demands of emerging video coding applications.